var is_APKName = false;

$(function(){

    //加载所属平台信息
    selectflatformId()


})





/**
 * 加载所属平台信息
 */
function selectflatformId(){
    $.ajax({
        url:"/dictionary/type",
        data: {typeName:"所属平台"},
        success:function (data){
            var options = "";
            data.forEach(function (dictionary){
                options += "<option value='"+dictionary.valueId+"'>"+dictionary.valueName+"</option>"
            })
            $("#flatformId").append(options)
        },
        error:function (data){
            alert("加载所属平台列表失败！")
        }
    })
}

/**
 * 异步加载分类信息
 */
//加载一级分类信息
loadCategoryInfo("categoryLevel1",null)
//加载二级分类信息
$("#categoryLevel1").change(function (){
    //获取一级分类value值
    var parentId = $(this).val();

    //清空二级和三级分类信息
    $("#categoryLevel2 option:gt(0)").remove();
    $("#categoryLevel3 option:gt(0)").remove();

    //加载二级分类信息
    loadCategoryInfo("categoryLevel2",parentId);
})
//加载三级分类信息
$("#categoryLevel2").change(function (){
    //获取一级分类value值
    var parentId = $(this).val();

    //清空三级分类信息
    $("#categoryLevel3 option:gt(0)").remove();

    //加载三级分类信息
    loadCategoryInfo("categoryLevel3",parentId);
})


/**
 * 加载分类信息
 */
function loadCategoryInfo(EleId,parentId){
    //1.加载一级分类
    $.ajax({
        url:"/category/list",
        data:{parentId:parentId},
        success:function (data) {

            //把从后台返回的数据拼接到字符串中去
            var options = "";

            //遍历数组
            for(var i =0 ; i < data.length; i++ ){

                options += "<option value='"+data[i].id+"'>"+data[i].categoryName+"</option>";
            }
            //3.把拼接的字符串添加到分类的下拉列表框中
            $("#"+EleId).append(options);
        }
    })
}

/**
 * 给apk名称所在的表单添加一个失去焦点事件校验APKName是否存在
 */
$("#APKName").blur(function (){
    //1.获取当前表单中用户输入的值
    var apkValue = $(this).val();
    //发送异步请求 后台拿到这个名称后向数据进行查询操作
        //如果存在就返回false表示名称不可用
        //如果不存在就返回true，表示名称可用
    $.ajax({
        url:"/appinfo/findAppinfoByAPKName",
        data:{APKName:apkValue},
        success:function (data){
            if (data.code == 200){
                $("#apkSpan").html(data.msg).css("color","green");
                is_APKName = true;//用于提交验证
            }else {
                $("#apkSpan").html(data.msg).css("color","red");
                is_APKName = false;
            }
        }
    })

})


/**
 * 异步上传文件操作
 * 当我们对文件上传表单添加文件后，触发这个事件
 * 功能实现流程是什么样的呢？
 *      页面
 *          1.把表单设置成post提交
 *          2.enctype属性的值写成multipart/form-data
 *          3.使用jquery。form。js文件中的ajaxSubmit函数提交表单
 *       后台
 *          1.引入文件上传的依赖
 *          2.配置文件上传解析器
 *          3.编写控制器，在控制器的参数上面使用multipartFile对象接收页面传递的文件项
 *          4.multipartFile获取上传的文件名、文件本身等等
 */
$("#a_logoPicPath").change(function (){
    //清除之前的提示信息
    $("#fileSpan").html("");
    //发送文件上传异步请求  目前只提交文件上传项，其他的表单项中就算有值也不处理
    $("#addForm").ajaxSubmit({ //使用一步的方式去提交这个表单
        url:"/appinfo/ajaxFileUpload",
        success:function (data){
            if (data.code == 200){
                $("#echoImg").attr("src",data.filePath);//图片回显
                //存储异步上传文件的路径到页面
                $("#logoPicPath").val(data.filePath);
            }else {
                $("#echoImg").attr("src","");//图片回显
                $("#fileSpan").html(data.msg).css("color","red");
            }
        }

    })
})

/*
非空校验
    取到各个标签的值
    然后判断，如果值得长度小于或等于0，就用状态来表示
    最后统计所有的状态，如果所有的状态都是true那么就提交
    如果有一个为false就不提交
*/
//点击提交按钮，先做非空验证
$("#send").click(function (){

    if (is_null("softwareName") &&
        is_null("APKName") &&
        is_APKName &&
        is_null("supportROM") &&
        is_null("interfaceLanguage") &&
        is_not_empty("softwareSize") &&
        is_not_empty("downloads") &&
        is_not_empty("flatformId") &&
        is_not_empty("categoryLevel1") &&
        is_not_empty("categoryLevel2") &&
        is_not_empty("categoryLevel3") &&
        is_null("appInfo") &&
        is_null("a_logoPicPath")
    ){//如果上面的条件都为true，那就提交表单
        //异步提交
        $.ajax({
            url:"/appinfo/add",
            data:$("#addForm").serialize(),
            success:function (data){

                if (data.code == 404){
                    location.href = "/jsp/devlogin.jsp";
                }else if (data.code == 500){
                    alert("添加失败！");
                }else {
                    alert("添加成功！");
                    location.href = "/appinfo/list";
                }
            }
        })
    }else {
        alert("请检查表单后再提交！");
    }

})


//开始编写非空判断
function is_null(id){
    var value = $("#"+id).val();

    //正则表达式
    var regrep = /\S/;

    //判断标签的值是否为空
    return regrep.test(value)
}
//编写非0校验
function is_not_empty(id){
    var value = $("#"+id).val();

    if (value == null || value == undefined || value.trim() == "" || value == "0"){
        return false;
    }else {
        return true;
    }
}


